/**
 * 
 */
package com.ls.lserp.modules.produce.service;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.ls.lserp.common.persistence.Page;
import com.ls.lserp.common.service.CrudService;
import com.ls.lserp.modules.produce.dao.ProduceParameterDao;
import com.ls.lserp.modules.produce.entity.ProduceParameter;
import com.ls.lserp.modules.sys.entity.Finance;

/**
  * @ClassName: ProduceParameterService
  * @Description: 生产参数保存 更新 删除
  * 
  * @author 秦玉峰
  * @date 2017年03月31日 下午4:21:31
  *
  */

@Service
@Transactional(readOnly = true)
public class ProduceParameterService extends CrudService<ProduceParameterDao, ProduceParameter> {
    @Autowired
    private ProduceParameterDao produceparameterDao;
    
    /**
      * @Title: findList
      * @Description: 查询字段类型列表
      * @param page
      * @param produceparameter
      * @return Page<ProduceParameter> 
      */
    
    public Page<ProduceParameter> findList(Page<ProduceParameter> page, ProduceParameter produceparameter) {
        // 设置分页参数
    	produceparameter.setPage(page);
        // 执行分页查询
        page.setList(produceparameterDao.findList(produceparameter));
        
        return page;
    }
    
    /**
	  * @Title: saveProduce
	  * @Description: 保存基准数据
	  * @param produceparameter
	  * @return void 
	  */
	@Transactional(readOnly = false)
	public void saveProduce(ProduceParameter produceparameter) {
		// 判断新建编辑
		//若为null 执行插入语句（新建）
		if (produceparameter.getId()==null){
			produceparameter.preInsert();
			produceparameterDao.insert(produceparameter);
			
		// 编辑
		}else{
			// 更新数据
			produceparameter.preUpdate();
			produceparameterDao.update(produceparameter);
		}
	}
	/**
	  * @Title: deleteProduce
	  * @Description: 删除基准数据(逻辑删除)
	  * @param produceparameter
	  * @return void 
	  */
	
	@Transactional(readOnly = false)
	public void deleteProduce(ProduceParameter produceparameter) {
		produceparameterDao.delete(produceparameter);
	}
	
	 /**
	  * @Title: getItemCodeFin
	  * @Description: 查重方法
	  * @param itemSort
	  * @return ProduceParameter 
	  */
	
	public ProduceParameter getItemCodeFin(String itemCd) {
		
		// 实例化
		ProduceParameter produceparameter = new ProduceParameter();
		produceparameter.setItemCd(itemCd);
		
		// 通过数据值和数据代码查询
		return produceparameterDao.getByItemCodeFin(produceparameter);
	}

    
	
}